package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.AccountTmp;

import java.util.*;
public class AccountTmpExample extends SgExample<AccountTmpExample.Criteria> {
    public static final Class<AccountTmp> beanClass = AccountTmp.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn birthday;
    public static EntityColumn lastLoginTime;
    public static EntityColumn gender;
    public static EntityColumn tmpId;
    public static EntityColumn name;
    public static EntityColumn type;
    public static EntityColumn age;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        birthday = listMap.get("birthday");
        lastLoginTime = listMap.get("lastLoginTime");
        gender = listMap.get("gender");
        tmpId = listMap.get("tmpId");
        name = listMap.get("name");
        type = listMap.get("type");
        age = listMap.get("age");
        }

    public AccountTmpExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected AccountTmpExample.Criteria createCriteriaInternal() {
        return new AccountTmpExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public AccountTmpExample.Criteria andBirthdayIsNull() {
            return isNull(birthday);
        }

        public AccountTmpExample.Criteria andBirthdayIsNotNull() {
            return isNotNull(birthday);
        }

        public AccountTmpExample.Criteria andBirthdayEqualTo(Date value) {
            return equalTo(birthday, value);
        }

        public AccountTmpExample.Criteria andBirthdayNotEqualTo(Date value) {
            return notEqualTo(birthday, value);
        }

        public AccountTmpExample.Criteria andBirthdayGreaterThan(Date value) {
            return greaterThan(birthday, value);
        }

        public AccountTmpExample.Criteria andBirthdayGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(birthday, value);
        }

        public AccountTmpExample.Criteria andBirthdayLessThan(Date value) {
            return lessThan(birthday, value);
        }

        public AccountTmpExample.Criteria andBirthdayLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(birthday, value);
        }

        public AccountTmpExample.Criteria andBirthdayIn(List<Date> values) {
            return in(birthday, values);
        }

        public AccountTmpExample.Criteria andBirthdayNotIn(List<Date> values) {
            return notIn(birthday, values);
        }

        public AccountTmpExample.Criteria andBirthdayBetween(Date value1, Date value2) {
            return between(birthday, value1, value2);
        }

        public AccountTmpExample.Criteria andBirthdayNotBetween(Date value1, Date value2) {
            return notBetween(birthday, value1, value2);
        }
        public AccountTmpExample.Criteria andLastLoginTimeIsNull() {
            return isNull(lastLoginTime);
        }

        public AccountTmpExample.Criteria andLastLoginTimeIsNotNull() {
            return isNotNull(lastLoginTime);
        }

        public AccountTmpExample.Criteria andLastLoginTimeEqualTo(Date value) {
            return equalTo(lastLoginTime, value);
        }

        public AccountTmpExample.Criteria andLastLoginTimeNotEqualTo(Date value) {
            return notEqualTo(lastLoginTime, value);
        }

        public AccountTmpExample.Criteria andLastLoginTimeGreaterThan(Date value) {
            return greaterThan(lastLoginTime, value);
        }

        public AccountTmpExample.Criteria andLastLoginTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(lastLoginTime, value);
        }

        public AccountTmpExample.Criteria andLastLoginTimeLessThan(Date value) {
            return lessThan(lastLoginTime, value);
        }

        public AccountTmpExample.Criteria andLastLoginTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(lastLoginTime, value);
        }

        public AccountTmpExample.Criteria andLastLoginTimeIn(List<Date> values) {
            return in(lastLoginTime, values);
        }

        public AccountTmpExample.Criteria andLastLoginTimeNotIn(List<Date> values) {
            return notIn(lastLoginTime, values);
        }

        public AccountTmpExample.Criteria andLastLoginTimeBetween(Date value1, Date value2) {
            return between(lastLoginTime, value1, value2);
        }

        public AccountTmpExample.Criteria andLastLoginTimeNotBetween(Date value1, Date value2) {
            return notBetween(lastLoginTime, value1, value2);
        }
        public AccountTmpExample.Criteria andGenderIsNull() {
            return isNull(gender);
        }

        public AccountTmpExample.Criteria andGenderIsNotNull() {
            return isNotNull(gender);
        }

        public AccountTmpExample.Criteria andGenderEqualTo(Boolean value) {
            return equalTo(gender, value);
        }

        public AccountTmpExample.Criteria andGenderNotEqualTo(Boolean value) {
            return notEqualTo(gender, value);
        }

        public AccountTmpExample.Criteria andGenderGreaterThan(Boolean value) {
            return greaterThan(gender, value);
        }

        public AccountTmpExample.Criteria andGenderGreaterThanOrEqualTo(Boolean value) {
            return greaterThanOrEqualTo(gender, value);
        }

        public AccountTmpExample.Criteria andGenderLessThan(Boolean value) {
            return lessThan(gender, value);
        }

        public AccountTmpExample.Criteria andGenderLessThanOrEqualTo(Boolean value) {
            return lessThanOrEqualTo(gender, value);
        }

        public AccountTmpExample.Criteria andGenderIn(List<Boolean> values) {
            return in(gender, values);
        }

        public AccountTmpExample.Criteria andGenderNotIn(List<Boolean> values) {
            return notIn(gender, values);
        }

        public AccountTmpExample.Criteria andGenderBetween(Boolean value1, Boolean value2) {
            return between(gender, value1, value2);
        }

        public AccountTmpExample.Criteria andGenderNotBetween(Boolean value1, Boolean value2) {
            return notBetween(gender, value1, value2);
        }
        public AccountTmpExample.Criteria andTmpIdIsNull() {
            return isNull(tmpId);
        }

        public AccountTmpExample.Criteria andTmpIdIsNotNull() {
            return isNotNull(tmpId);
        }

        public AccountTmpExample.Criteria andTmpIdEqualTo(Long value) {
            return equalTo(tmpId, value);
        }

        public AccountTmpExample.Criteria andTmpIdNotEqualTo(Long value) {
            return notEqualTo(tmpId, value);
        }

        public AccountTmpExample.Criteria andTmpIdGreaterThan(Long value) {
            return greaterThan(tmpId, value);
        }

        public AccountTmpExample.Criteria andTmpIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(tmpId, value);
        }

        public AccountTmpExample.Criteria andTmpIdLessThan(Long value) {
            return lessThan(tmpId, value);
        }

        public AccountTmpExample.Criteria andTmpIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(tmpId, value);
        }

        public AccountTmpExample.Criteria andTmpIdIn(List<Long> values) {
            return in(tmpId, values);
        }

        public AccountTmpExample.Criteria andTmpIdNotIn(List<Long> values) {
            return notIn(tmpId, values);
        }

        public AccountTmpExample.Criteria andTmpIdBetween(Long value1, Long value2) {
            return between(tmpId, value1, value2);
        }

        public AccountTmpExample.Criteria andTmpIdNotBetween(Long value1, Long value2) {
            return notBetween(tmpId, value1, value2);
        }
        public AccountTmpExample.Criteria andNameIsNull() {
            return isNull(name);
        }

        public AccountTmpExample.Criteria andNameIsNotNull() {
            return isNotNull(name);
        }

        public AccountTmpExample.Criteria andNameEqualTo(String value) {
            return equalTo(name, value);
        }

        public AccountTmpExample.Criteria andNameNotEqualTo(String value) {
            return notEqualTo(name, value);
        }

        public AccountTmpExample.Criteria andNameGreaterThan(String value) {
            return greaterThan(name, value);
        }

        public AccountTmpExample.Criteria andNameGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(name, value);
        }

        public AccountTmpExample.Criteria andNameLessThan(String value) {
            return lessThan(name, value);
        }

        public AccountTmpExample.Criteria andNameLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(name, value);
        }

        public AccountTmpExample.Criteria andNameLike(String value) {
            return like(name, value);
        }

        public AccountTmpExample.Criteria andNameNotLike(String value) {
            return notLike(name, value);
        }

        public AccountTmpExample.Criteria andNameIn(List<String> values) {
            return in(name, values);
        }

        public AccountTmpExample.Criteria andNameNotIn(List<String> values) {
            return notIn(name, values);
        }

        public AccountTmpExample.Criteria andNameBetween(String value1, String value2) {
            return between(name, value1, value2);
        }

        public AccountTmpExample.Criteria andNameNotBetween(String value1, String value2) {
            return notBetween(name, value1, value2);
        }
        public AccountTmpExample.Criteria andTypeIsNull() {
            return isNull(type);
        }

        public AccountTmpExample.Criteria andTypeIsNotNull() {
            return isNotNull(type);
        }

        public AccountTmpExample.Criteria andTypeEqualTo(Integer value) {
            return equalTo(type, value);
        }

        public AccountTmpExample.Criteria andTypeNotEqualTo(Integer value) {
            return notEqualTo(type, value);
        }

        public AccountTmpExample.Criteria andTypeGreaterThan(Integer value) {
            return greaterThan(type, value);
        }

        public AccountTmpExample.Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(type, value);
        }

        public AccountTmpExample.Criteria andTypeLessThan(Integer value) {
            return lessThan(type, value);
        }

        public AccountTmpExample.Criteria andTypeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(type, value);
        }

        public AccountTmpExample.Criteria andTypeIn(List<Integer> values) {
            return in(type, values);
        }

        public AccountTmpExample.Criteria andTypeNotIn(List<Integer> values) {
            return notIn(type, values);
        }

        public AccountTmpExample.Criteria andTypeBetween(Integer value1, Integer value2) {
            return between(type, value1, value2);
        }

        public AccountTmpExample.Criteria andTypeNotBetween(Integer value1, Integer value2) {
            return notBetween(type, value1, value2);
        }
        public AccountTmpExample.Criteria andAgeIsNull() {
            return isNull(age);
        }

        public AccountTmpExample.Criteria andAgeIsNotNull() {
            return isNotNull(age);
        }

        public AccountTmpExample.Criteria andAgeEqualTo(Integer value) {
            return equalTo(age, value);
        }

        public AccountTmpExample.Criteria andAgeNotEqualTo(Integer value) {
            return notEqualTo(age, value);
        }

        public AccountTmpExample.Criteria andAgeGreaterThan(Integer value) {
            return greaterThan(age, value);
        }

        public AccountTmpExample.Criteria andAgeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(age, value);
        }

        public AccountTmpExample.Criteria andAgeLessThan(Integer value) {
            return lessThan(age, value);
        }

        public AccountTmpExample.Criteria andAgeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(age, value);
        }

        public AccountTmpExample.Criteria andAgeIn(List<Integer> values) {
            return in(age, values);
        }

        public AccountTmpExample.Criteria andAgeNotIn(List<Integer> values) {
            return notIn(age, values);
        }

        public AccountTmpExample.Criteria andAgeBetween(Integer value1, Integer value2) {
            return between(age, value1, value2);
        }

        public AccountTmpExample.Criteria andAgeNotBetween(Integer value1, Integer value2) {
            return notBetween(age, value1, value2);
        }
    }
}
